C编程的朋友们进来看看````

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:56:37
用C编程:在3*3的方格里填上1~9这9个数,要求横,竖的数加起来之和相等~```
用程序输出的结果是以矩形的形式输出的`````

我这个最后就是矩阵输出的呀~~~
汗~~~~~~

#include<stdio.h>
#define MAX 11

int N[MAX][MAX];

void Go(int n)
{
int num=n*n,row=0,col=(n-1)/2,i=1;
while(i<=num)
{
if (row==-1)row=n-1;
if (col==n)col=0;
N[row][col]=i;
if (i%n==0)row=row+1;
else{
row=row-1;
col=col+1;
}
i=i+1;
}
for(int k=0;k<n;k++)
{
for(int j=0;j<n;j++)
printf("%d ",N[k][j]);
printf("\n");
}

}

int main()
{
int n; //阶数n
printf("请输入阶数(必须为奇数,否则重输)!");
printf("\n");
while(n%2==0)
scanf("%d",&n);//必须保证是奇数此算法才有效
Go(n);
return 0;
}

运行结果:

请输入阶数(必须为奇数,否则重输)!
3